home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Internet
/
Collection of Internet.iso
/
infosrvr
/
dev
/
libhtml_.tar
/
HMDoc.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-21
|
2KB
|
76 lines
/* HMDoc.h -- HyperMedia Document class definition
* $Id$
*/
#ifndef HMDoc_h
#define HMDoc_h
#include "c_dialect.h"
/* @@ get rid of this depenency... */
#include <stdio.h>
typedef struct _HMDoc HMDoc;
typedef struct{
char* name;
char* value;
}HMBinding;
typedef HMDoc*
HMFileWriterProc PARAMS((FILE* fp));
typedef VOIDPTR HMStream;
typedef int HMGetcProc PARAMS((HMStream in));
typedef int HMWriteProc PARAMS((HMStream out,
CONST VOIDPTR buf,
unsigned nbytes));
typedef HMDoc*
HMWriterProc PARAMS((HMStream out, HMWriteProc write));
typedef VOID
HMDeleteProc PARAMS((HMDoc* this));
typedef int
HMStartTagProc PARAMS((HMDoc* this,
CONST char* gi,
CONST HMBinding attributes[],
int nattrs));
typedef VOID
HMEndTagProc PARAMS((HMDoc* this,
CONST char* gi));
typedef VOID
HMDataProc PARAMS((HMDoc* this,
CONST char* data,
int char_qty));
typedef CONST char*
HMEntityProc PARAMS((HMDoc* this, CONST char* name));
typedef struct{
/* class methods... */
HMFileWriterProc *fileWriter;
HMWriterProc *writer;
/* instance methods */
HMDeleteProc *delete;
HMStartTagProc *startTag;
HMEndTagProc *endTag;
HMDataProc *data;
HMEntityProc *entityText;
/*@@ EOFProc *eof */
}HMDoc_Class;
typedef VOID HMParseProc PARAMS((HMStream stream, HMGetcProc getc,
HMDoc* document,
CONST HMDoc_Class *docclass));
extern HMDoc_Class InCore;
HMDoc* InCore_new PARAMS(());
VOID InCore_traverse PARAMS((HMDoc* this, HMDoc* that, HMDoc_Class* docclass));
#endif